package com.ebs.md.fxmonitor.marketmonitor;

/**
 * Perforce Revision:
 *  $File: //depot/MarketData/fxmonitor/main/src/main/java/com/ebs/md/fxmonitor/marketmonitor/MarketMonitorConsts.java $
 *  $Revision: #18 $  $Change: 115985 $  $DateTime: 2012/10/18 16:25:34 $  $Author: Aviad.Yosef $
 */


public interface MarketMonitorConsts
{
	
	public final static int  EVENT_OFF_MARKET_DEFAULT_PIPS_THRESHOLD = 5;

	public final static long EVENT_OFF_MARKET_DEFAULT_QUOTE_AMOUNT_THRESHOLD = 1;
	
	// time in milliseconds
	public final static int  EVENT_CROSS_MARKET_DEFAULT_INTERVAL_THRESHOLD = 1000;
	
	public final static long EVENT_CENTRAL_BANK_DEFAULT_QUOTE_AMOUNT_THRESHOLD = (long) (100 * 1000 * 1000);
	
	//Flashing configuration constants:
	public final static long EVENT_FLASHING_LIFE_TIME_THRESHOLD                = 500;   
	public final static int  EVENT_FLASHING_PIP_COUNT_THRESHOLD                = 2;	
	public final static int  EVENT_FLASHING_NUMBER_OF_FLASHES_THRESHOLD        = 10;	
	public final static long EVENT_FLASHING_TIME_FRAME_THRESHOLD               = 30000; //time unit in millisecond.
	public final static int  EVENT_FLASHING_NUMBER_OF_INVOLVED_DEALS_THRESHOLD = 1;

	//Topping
	public final static int  EVENT_TOPPING_DISTANCE_THRESHOLD                 = 2;	
	public final static long EVENT_TOPPING_SUBMIT_TIME_THRESHOLD              = 150;	
	public final static long EVENT_TOPPING_CANCEL_TIME_THRESHOLD              = 150;	
	public final static int  EVENT_TOPPING_NUMBER_OF_PRICE_TOPPINGS_THRESHOLD = 5;
	public final static long EVENT_TOPPING_TIME_FRAME_THRESHOLD               = 10000; //time unit in millisecond.

	//Pulsing
	public final static int  EVENT_PULSING_NUMBER_OF_PULSES_THRESHOLD = 10; 
	public final static int  EVENT_PULSING_NUMBER_OF_DEALS_THRESHOLD  =  1; 
	public final static int  EVENT_PULSING_LIFE_TIME_THRESHOLD        = 1000;  //time unit in millisecond.
	public final static long EVENT_PULSING_TIME_FRAME_THRESHOLD       = 30000; //time unit in millisecond.
	public final static int  EVENT_PULSING_PRICE_LEVEL_THRESHOLD      = 3;  
	
	//spoofingBySize
	public final static long EVENT_SPOOFING_LIFE_TIME_THRESHOLD        = 250;   //time unit in millisecond.
	public final static int  EVENT_SPOOFING_PRICE_LEVEL_THRESHOLD      = 5;
	public final static int  EVENT_SPOOFING_ORDER_SIZE_THRESHOLD       = 10000000;    	
	public final static int  EVENT_SPOOFING_ORDER_FILL_SIZE_THRESHOLD  = 100;
	
	//outOfRegionQuoting
	public final static String  EVENT_OUT_OF_REGION_QUOTING_BLACKOUT_FROM_THRESHOLD            = "00:00:00"; //using date "HH:mm:ss" only.
	public final static String  EVENT_OUT_OF_REGION_QUOTING_BLACKOUT_TO_THRESHOLD              = "06:00:00"; //using date "HH:mm:ss" only.
	public final static int     EVENT_OUT_OF_REGION_QUOTING_NUMBER_OF_PASSIVE_QUOTES_THRESHOLD = 1;
	public final static boolean EVENT_OUT_OF_REGION_QUOTING_IS_MONITORED_THRESHOLD             = false;

	//passiveHitsBTS
	public final static int  EVENT_PASSIVE_HITS_BTS_NUMBER_OF_HITS_THRESHOLD               = 10;
	public final static long EVENT_PASSIVE_HITS_BTS_TIME_FRAME_THRESHOLD                   = 5000; //time unit in millisecond.
	public final static long EVENT_PASSIVE_HITS_BTS_UNAVAILABLE_PRICE_TIME_FRAME_THRESHOLD = 200; //time unit in millisecond.

	//passiveHitsNML
	public final static int  EVENT_PASSIVE_HITS_NML_NUMBER_OF_HITS_THRESHOLD         = 10;
	public final static long EVENT_PASSIVE_HITS_NML_TIME_FRAME_THRESHOLD             = 5000; //time unit in millisecond.
	
	//selfMathcing
	public final static String               EVENT_SELF_MATCHING_AGGRESSIVE_ORDER_TYPE                 = "IOC"; 
	public final static String               EVENT_SELF_MATCHING_AGGRESSIVE_VS_PASSIVE_ORDER_SIZE_TYPE = "EQUAL"; 
	public final static int                  EVENT_SELF_MATCHING_SELF_MATCH_THRESHOLD                  = 10; 
	public final static long                 EVENT_SELF_MATCHING_TIME_TO_MATCH_THRESHOLD               = 250; //time unit in millisecond.
	
}		

